<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
              //1.属性的简洁表示法
                  //ES6允许直接写入变量和函数，作为对象的属性和方法。这样的书写更加简洁。
                  //ES6允许在对象之中，直接写变量。这时属性名为变量名，属性值为变量的值。
                  //属性简写
                       
//                		const foo = 'bar';
//						const baz = {foo};
//						console.log(baz);//{foo:'bar'} 等同于 const baz = {foo:foo}
                    
                  //方法简写
//                      const o = {
//							method(){
//							  console.log("Hello!")
//							}
//						}

//                   let birth = '2000/01/01';
//					 const Person = {	
//						  name: '张三',
//						  birth, //等同于birth: birth
//						  hello() { console.log('我的名字是', this.name); }// 等同于hello: function ()...
//					};

               //2.属性名表达式
                   //JavaScript定义对象的属性，有两种方法
                       //方法一  obj.foo = true;
                       //方法二  obj['a'+'bc'] = 123;
                   //在 ES5 中只能使用方法一（标识符）定义属性。
                   //ES6 允许字面量定义对象时，用方法二（表达式）作为对象的属性名，即把表达式放在方括号内。
//                        let propKey = 'foo';
//						  let obj = {
//						     [propKey]: true,//foo:true
//						     ['a' + 'bc']: 123//abc:123
//						  };
//						  console.log(obj.foo);//true
//						  console.log(obj.abc);//123
                   //注意，属性名表达式与简洁表示法，不能同时使用，会报错。
//                		  const foo = 'bar';
//						  const bar = 'abc';
//						  const baz = { [foo] };//报错

               //3.方法的name属性
//			              const person = {
//							  sayName() {
//							    console.log('hello!');
//							  },
//						  };
//						  person.sayName.name   // "sayName"
               
               //4.Object.is()
                  //ES5 比较两个值是否相等，只有两个运算符：相等运算符（==）和严格相等运算符（===）。
                  //它们都有缺点，前者会自动转换数据类型，后者的NaN不等于自身，以及+0等于-0。
                  //JavaScript 缺乏一种运算，在所有环境中，只要两个值是一样的，它们就应该相等。
                  //ES6 提出“Same-value equality”（同值相等）算法，用来解决这个问题。
                  
               //5.Object.assign()
                 //Object.assign方法用于对象的合并，将源对象（source）的所有可枚举属性，复制到目标对象（target）。
	    </script>
	</body>
</html>
